It is well known to scan an image and to store a representation of the scanned image in a computer's memory. For example, U.S. Pat. No. 4,939,354, issued to Priddy et al., discloses a binary coded matrix that is optically scanned and stored in memory. The data stored in the matrix is then decoded.
One difficulty that is commonly faced in optically scanned images is skew or rotation of the image as actually captured by the scanning equipment. FIGS. 1-A and 1-B illustrate the problem in schematic terms. In FIG. 1-A, rectangular border 20 represents an image as printed on paper. However, in practice the paper bends, and also may be positioned relative to the scanning equipment, so that the scanned image is skewed or rotated. The skewed, distorted border 22 of FIG. 1-B represents a rotated image. When the image contains binary coded data cells, rotation may cause serious difficulties in determining the locations of the data cells and extracting the data therefrom.
It is known to `derotate` a scanned image by remapping the scanned image pixel by pixel. As schematically illustrated in FIGS. 2-A and 2-B, for each pixel in rotated image 22, coordinates are calculated in accordance with rotated axes 24, 26. Each pixel is then remapped so that a derotated image 28 is formed, aligned with properly oriented axes 30, 32.
The pixel by pixel remapping method just described requires a large number of calculations and so is very time consuming and expensive. A simpler and less expensive derotation method is desirable.